home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Nebula 1
/
Nebula One.iso
/
Utilities
/
Converters
/
Convert_PICT
/
Source
/
UncommentedPSCode
/
Arcs
next >
Wrap
Text File
|
1995-06-12
|
2KB
|
144 lines
%BEGIN Arcs
/arcpath
{
/finishAng exch def
/startAng exch def
/lastright exch def
/lastbottom exch def
/lastleft exch def
/lasttop exch def
newpath
lastright lastleft sub % compute width & height
lastbottom lasttop sub
lastbottom lastleft setupForArcPath
/radius exch def
/yoffset exch def
/xoffset exch def
xoffset yoffset moveto
xoffset yoffset radius startAng finishAng arc
closepath
}
def
/frameArc
{
/finishAng exch def
/startAng exch def
/lastright exch def
/lastbottom exch def
/lastleft exch def
/lasttop exch def
gsave
penPattern usePattern
/thewidth lastright lastleft sub def
/theheight lastbottom lasttop sub def
penHeight 1 eq
penWidth 1 eq
and
{
newpath
thewidth theheight lastbottom lastleft setupForArcPath
startAng finishAng arc
stroke
}
{
penHeight 0 gt % We don't want to draw with a 0 sized pen.
penWidth 0 gt
and
{
/startmatrix matrix currentmatrix def
newpath
thewidth theheight lastbottom lastleft setupForArcPath
startAng finishAng arc
startmatrix setmatrix
/innerRight lastright penWidth sub 1 add def
/innerTop lasttop penHeight add 1 sub def
/innerLeft lastleft penWidth add 1 sub def
/innerBottom lastbottom penHeight sub 1 add def
/innerWidth innerRight innerLeft sub def
/innerHeight innerBottom innerTop sub def
innerWidth innerHeight innerBottom innerLeft
setupForArcPath
finishAng startAng arcn
closepath
fill
}
if
}
ifelse
grestore
}
def
/paintArc
{
gsave
penPattern usePattern
arcpath
fill
grestore
}
def
/eraseArc
{
gsave
backPattern usePattern
arcpath
fill
grestore
}
def
/invertArc
{
gsave
arcpath
grestore
}
def
/fillArc
{
gsave
fillPattern usePattern
arcpath
fill
grestore
}
def
/frameSameArc
{
/endAng exch def
/startAng exch def
lasttop lastleft lastbottom lastright startAng endAng frameArc
}
def
/paintSameArc
{
/endAng exch def
/startAng exch def
lasttop lastleft lastbottom lastright startAng endAng paintArc
}
def
/eraseSameArc
{
/endAng exch def
/startAng exch def
lasttop lastleft lastbottom lastright startAng endAng eraseArc
}
def
/invertSameArc
{
/endAng exch def
/startAng exch def
lasttop lastleft lastbottom lastright startAng endAng invertArc
}
def
/fillSameArc
{
/endAng exch def
/startAng exch def
lasttop lastleft lastbottom lastright startAng endAng fillArc
}
def
%END Arcs